#pragma once
/*
    定义一个包含所有类型信息的枚举
    定义一个枚举 -> 字符串的接口
*/

namespace senlog
{
    class LogLevel
    {
        public:
            enum class value
            {
                UNKNOW = 0,
                DEBUG,
                INFO,
                WARN,
                ERROR,
                FATAL,
                OFF         //6, 如果默认告警信息登记为6，那么就是关闭（上面的都不会输出）
            };

            static const char* tostring(LogLevel::value level)
            {
                switch(level)
                {
                    case LogLevel::value::DEBUG:    return "DEBUG";
                    case LogLevel::value::INFO:     return "INFO";
                    case LogLevel::value::WARN:     return "WARN";
                    case LogLevel::value::ERROR:    return "ERROR";
                    case LogLevel::value::FATAL:    return "FATAL";
                }
                    return "UNKNOW";
            }
    };
};